home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / zhbtrd.z / zhbtrd
Text File  |  1998-10-30  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))                                                          ZZZZHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZHBTRD - reduce a complex Hermitian band matrix A to real symmetric
  10.      tridiagonal form T by a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZHBTRD( VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO
  14.                         )
  15.  
  16.          CHARACTER      UPLO, VECT
  17.  
  18.          INTEGER        INFO, KD, LDAB, LDQ, N
  19.  
  20.          DOUBLE         PRECISION D( * ), E( * )
  21.  
  22.          COMPLEX*16     AB( LDAB, * ), Q( LDQ, * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZHBTRD reduces a complex Hermitian band matrix A to real symmetric
  26.      tridiagonal form T by a unitary similarity transformation:  Q**H * A * Q
  27.      = T.
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      VECT    (input) CHARACTER*1
  32.              = 'N':  do not form Q;
  33.              = 'V':  form Q;
  34.              = 'U':  update a matrix X, by forming X*Q.
  35.  
  36.      UPLO    (input) CHARACTER*1
  37.              = 'U':  Upper triangle of A is stored;
  38.              = 'L':  Lower triangle of A is stored.
  39.  
  40.      N       (input) INTEGER
  41.              The order of the matrix A.  N >= 0.
  42.  
  43.      KD      (input) INTEGER
  44.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  45.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  46.  
  47.      AB      (input/output) COMPLEX*16 array, dimension (LDAB,N)
  48.              On entry, the upper or lower triangle of the Hermitian band
  49.              matrix A, stored in the first KD+1 rows of the array.  The j-th
  50.              column of A is stored in the j-th column of the array AB as
  51.              follows:  if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
  52.              kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  53.              j<=i<=min(n,j+kd).  On exit, the diagonal elements of AB are
  54.              overwritten by the diagonal elements of the tridiagonal matrix T;
  55.              if KD > 0, the elements on the first superdiagonal (if UPLO =
  56.              'U') or the first subdiagonal (if UPLO = 'L') are overwritten by
  57.              the offdiagonal elements of T; the rest of AB is overwritten by
  58.              values generated during the reduction.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))                                                          ZZZZHHHHBBBBTTTTRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDAB    (input) INTEGER
  75.              The leading dimension of the array AB.  LDAB >= KD+1.
  76.  
  77.      D       (output) DOUBLE PRECISION array, dimension (N)
  78.              The diagonal elements of the tridiagonal matrix T.
  79.  
  80.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  81.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  82.              T(i,i+1) if UPLO = 'U'; E(i) = T(i+1,i) if UPLO = 'L'.
  83.  
  84.      Q       (input/output) COMPLEX*16 array, dimension (LDQ,N)
  85.              On entry, if VECT = 'U', then Q must contain an N-by-N matrix X;
  86.              if VECT = 'N' or 'V', then Q need not be set.
  87.  
  88.              On exit:  if VECT = 'V', Q contains the N-by-N unitary matrix Q;
  89.              if VECT = 'U', Q contains the product X*Q; if VECT = 'N', the
  90.              array Q is not referenced.
  91.  
  92.      LDQ     (input) INTEGER
  93.              The leading dimension of the array Q.  LDQ >= 1, and LDQ >= N if
  94.              VECT = 'V' or 'U'.
  95.  
  96.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  97.  
  98.      INFO    (output) INTEGER
  99.              = 0:  successful exit
  100.              < 0:  if INFO = -i, the i-th argument had an illegal value
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.